<%@page contentType="content-type: application/x-javascript" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
var BUSCADOR_COMPETICION = {

	inicio : function() {
		if ($('#donde').length > 0) {
			$('#secundario form.buscador').submit(function() {
				$(this).attr('action',$(this).attr('action').val() + $('#donde').val() + '/');
			});
		}
	}
	
}




var APLAZAR = {

	inicio : function() {
		var activo;
		var partidosPendientes = $('#tus-partidos-pendientes');
		var formulario = $('#formulario-aplazar');
		partidosPendientes.find('li.aplazar button').click(function() {
			if (partidosPendientes.find('div.cargando').length == 0) {
				activo = $(this);
				var posicion_boton = activo.position().top - 35;
				var posicion_actual = parseInt(formulario.css('top'));
				if ((formulario.css('display') == 'block') && (posicion_boton != posicion_actual))
					formulario.fadeOut(VELOCIDAD_FADE,function() {
						APLAZAR.mostrar(activo,formulario);
					});
				else if ((formulario.css('display') == 'block') && (posicion_boton == posicion_actual))
					APLAZAR.ocultar();
				else
					APLAZAR.mostrar(activo,formulario);
			}
		});
		var fechaAplazamiento = $('#fecha-aplazamiento');
		fechaAplazamiento.datepicker({ dateFormat: 'dd/mm/yy', minDate: '+1', prevText: '<s:text name="general.palabras.mes_anterior" />', nextText: '<s:text name="general.palabras.mes_siguiente" />', constrainInput: true, showButtonPanel: true, closeText: ' ' });
		formulario.find('.boton-cerrar').click(function() {
			APLAZAR.ocultar();
		});
		$('#boton-calendario').click(function() {
			fechaAplazamiento.datepicker('show');
		});
		var horaAplazamiento = $('#hora-aplazamiento');
		horaAplazamiento.focus(function() {
			$(this).select();	
		});
		formulario.submit(function() {
			if (partidosPendientes.find('tfoot strong').text() > 0) {
				CARGANDO.mostrar(partidosPendientes);
				partidosPendientes.find('.cargando').css('top',parseInt($(this).css('top')) + 1).css('left','116px');
				$.ajax({
					type: 'POST',
					url: '/bd/xhr/xhr_solicitar_aplazamiento.jsp',
					data: 'partido=' + activo.parents('tr').attr('id').split('_')[1] + '&dia=' + fechaAplazamiento.val() + '&hora=' + horaAplazamiento.val() + '&motivo=' + $('#motivo-aplazamiento').val(),
					dataType: 'json',
					success: function(datos) {
						if (datos['cabecera']['correcto'] == '1') {
							activo.parents('tr').find('th').text(fechaAplazamiento.val() + ' (' + horaAplazamiento.val() + ')');
							partidosPendientes.find('tfoot strong').text(partidosPendientes.find('tfoot strong').text() - 1);
						} else
							AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
						CARGANDO.ocultar(partidosPendientes.find('div.cargando'));
						APLAZAR.ocultar();
					},
					error: function() {
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
						CARGANDO.ocultar(partidosPendientes.find('div.cargando'));
						APLAZAR.ocultar();
					}
				});
			}
			return false;
		});
	},
	
	mostrar : function(cual,formulario) {
		formulario.reset();
		formulario.css('top',cual.position().top - 35);
		formulario.fadeIn(VELOCIDAD_FADE);
	},
	
	ocultar : function() {
		$('#formulario-aplazar').fadeOut(VELOCIDAD_FADE);
	}

}




var CONTACTAR_RIVAL = {

	inicio : function() {
		var activo;
		var partidosPendientes = $('#tus-partidos-pendientes');
		var formulario = $('#formulario-contactar');
		partidosPendientes.find('li.contactar button').click(function() {
			if (partidosPendientes.find('div.cargando').length == 0) {
				activo = $(this);
				var posicion_boton = activo.position().top - 35;
				var posicion_actual = parseInt(formulario.css('top'));
				if ((formulario.css('display') == 'block') && (posicion_boton != posicion_actual))
					formulario.fadeOut(VELOCIDAD_FADE,function() {
						CONTACTAR_RIVAL.mostrar(activo,formulario);
					});
				else if ((formulario.css('display') == 'block') && (posicion_boton == posicion_actual))
					CONTACTAR_RIVAL.ocultar();
				else
					CONTACTAR_RIVAL.mostrar(activo,formulario);
			}
		});
		formulario.find('.boton-cerrar').click(function() {
			CONTACTAR_RIVAL.ocultar();
		});
		formulario.submit(function() {
			CARGANDO.mostrar(partidosPendientes);
			partidosPendientes.find('.cargando').css('top',parseInt($(this).css('top')) + 1).css('left','189px');
			$.ajax({
				type: 'POST',
				url: '/xhr/xhr_contactar',
				data: 'rival=' + activo.parents('tr').find('a:eq(1)').text() + '&asunto=' + $('#asunto-rival').val() + '&mensaje=' + $('#mensaje-rival').val(),
				dataType: 'text',
				dataFilter: function(datos) {
					return AJAX.transformar(datos);
                },
				success: function(datos) {
					if (datos['cabecera']['correcto'] != '1')
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(partidosPendientes.find('div.cargando'));
					CONTACTAR_RIVAL.ocultar();
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(partidosPendientes.find('div.cargando'));
					CONTACTAR_RIVAL.ocultar();
				}
			});
			return false;
		});
	},
	
	mostrar : function(cual,formulario) {
		formulario.reset();
		formulario.css('top',cual.position().top - 35);
		formulario.fadeIn(VELOCIDAD_FADE);
		$('#asunto-rival').focus();
	},
	
	ocultar : function() {
		$('#formulario-contactar').fadeOut(VELOCIDAD_FADE);
	}

}




var ALERTA_RIVAL = {

	inicio : function() {
		$('#tus-partidos-pendientes li.alerta button').click(function() {
			var cual = $(this);
			$.ajax({
				type: 'POST',
				url: '/bd/xhr/xhr_alerta.jsp',
				data: 'manager=' + cual.parents('tr').find('a').last().text(),
				dataType: 'json',
				success: function(datos) {
					if (datos['cabecera']['correcto'] == '1')
						cual.toggleClass('activa');
					else
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
				}
			});
		});
	}	
	
}




var CONTACTAR_MANAGER = {

	inicio : function(contenedor,manager) {
		var formulario = contenedor.find('form');
		contenedor.find('li.contactar button').click(function() {
			if (contenedor.find('div.cargando').length == 0) {
				if (formulario.css('display') == 'block')
					CONTACTAR_MANAGER.ocultar(contenedor);
				else
					CONTACTAR_MANAGER.mostrar(formulario);
			}
		});
		formulario.find('.boton-cerrar').click(function() {
			CONTACTAR_MANAGER.ocultar(contenedor);
		});
		formulario.submit(function() {
			CARGANDO.mostrar(contenedor);
			$.ajax({
				type: 'POST',
				url: '/xhr/xhr_contactar',
				data: 'manager=' + manager + '&asunto=' + $('#asunto-manager').val() + '&mensaje=' + $('#mensaje-manager').val(),
				dataType: 'text',
				dataFilter: function(datos) {
					return AJAX.transformar(datos);
                },
				success: function(datos) {
					if (datos['cabecera']['correcto'] != '1')
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(contenedor.find('div.cargando'));
					CONTACTAR_MANAGER.ocultar(contenedor);					
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(contenedor.find('div.cargando'));
					CONTACTAR_MANAGER.ocultar(contenedor);
				}
			});
			return false;
		});
	},
	
	mostrar : function(formulario) {
		formulario.reset();
		formulario.fadeIn(VELOCIDAD_FADE);
		$('#asunto-manager').focus();
	},
	
	ocultar : function(contenedor) {
		contenedor.find('form').fadeOut(VELOCIDAD_FADE);		
	}

}




var ALERTA_MANAGER = {

	inicio : function(contenedor,manager) {
		contenedor.find('li.alerta button').click(function() {
			var cual = $(this);
			$.ajax({
				type: 'POST',
				url: '/bd/xhr/xhr_alerta.jsp',
				data: 'manager=' + manager,
				dataType: 'json',
				success: function(datos) {
					if (datos['cabecera']['correcto'] == '1')
						cual.toggleClass('activa');
					else
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
				}
			});
		});
	}
	
}




var datosHallOfFame = new Array(2);
datosHallOfFame['texto_jugador'] = 'Ver la ficha de _X_ del equipo _Y_';
datosHallOfFame['url_jugador'] = '/competicion/equipos/_Y_/jugadores/_X_/';
datosHallOfFame['texto_imagen'] = 'Imagen de _X_, jugador del equipo _Y_';
datosHallOfFame['url_imagen'] = '/img/hall-of-fame/_Y_/_X_';
datosHallOfFame['texto_equipo'] = 'Ver la ficha del equipo _Y_';
datosHallOfFame['url_equipo'] = '/competicion/equipos/_Y_/';

var HALL_OF_FAME = {
	
	inicio : function() {
		var caja = $('#hall-of-fame');
		caja.find('li button').click(function() {
			CARGANDO.mostrar(caja);
			$.ajax({
				type: 'POST',
				url: '/bd/xhr/xhr_hall_of_fame.jsp',
				dataType: 'json',
				success: function(datos) {
					if (datos['cabecera']['correcto'] == '1')
						HALL_OF_FAME.actualizar(datos,caja);
					else
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
				}
			});
			return false;
		});
	},
	
	actualizar : function(datos,caja) {
		var cadena = '<a title="' + datosHallOfFame['texto_jugador'].replace(/_X_/g,datos['datos']['nombre']).replace(/_Y_/g,datos['datos']['equipo']) + '" href="' + datosHallOfFame['url_jugador'].replace(/_X_/g,datos['datos']['url-nombre']).replace(/_Y_/g,datos['datos']['url-equipo']) + '">' + datos['datos']['nombre'] + ' <img src="' + datosHallOfFame['url_imagen'].replace(/_X_/g,datos['datos']['imagen']).replace(/_Y_/g,datos['datos']['url-equipo']) + '" alt="Imagen de ' + datos['datos']['nombre'] + ', jugador del equipo ' + datos['datos']['equipo'] + '" width="230" height="188" /></a>';
		caja.find('dt a').replaceWith(cadena);
		var cadena = '<a title="' + datosHallOfFame['texto_equipo'].replace(/_Y_/g,datos['datos']['equipo']) + '" href="' + datosHallOfFame['url_equipo'].replace(/_Y_/g,datos['datos']['url-equipo']) + '">' + datos['datos']['equipo'] + '</a>';
		caja.find('dd a').replaceWith(cadena);
		CARGANDO.ocultar(caja.find('div'));
	}
		
}




$(document).ready(function() {
	BUSCADOR_COMPETICION.inicio();
	CONTACTAR_MANAGER.inicio($('#manager'),$('#manager dt a').text());
	//ALERTA_MANAGER.inicio($('#manager'),$('#manager dt a').text());
	HALL_OF_FAME.inicio();
	$(document).keyup(function (e) {
		if (typeof(e) == 'undefined')
			e = event;
		if (e.keyCode == 27) {
			CONTACTAR_MANAGER.ocultar($('#manager'));
		}
	});
});